From a890a6125300829c0372423b389febeafe799e7d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 12 Nov 2011 05:15:53 +0100 Subject: [PATCH] treeview: Add _gtk_rbtree_node_get_index() .. as a replacement for _gtk_rbtree_node_find_parity(). Instead of 1 or 0, the function now returns the index of node in the complete tree (counting from the root). And this is of course identical to the row number. --- gtk/gtkrbtree.c | 10 +++++----- gtk/gtkrbtree.h | 2 +- gtk/gtktreeview.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c index c8ff556043..714fb57ac2 100644 --- a/gtk/gtkrbtree.c +++ b/gtk/gtkrbtree.c @@ -988,12 +988,12 @@ _gtk_rbtree_node_find_offset (GtkRBTree *tree, return retval; } -gint -_gtk_rbtree_node_find_parity (GtkRBTree *tree, - GtkRBNode *node) +guint +_gtk_rbtree_node_get_index (GtkRBTree *tree, + GtkRBNode *node) { GtkRBNode *last; - gint retval; + guint retval; g_assert (node); g_assert (node->left); @@ -1020,7 +1020,7 @@ _gtk_rbtree_node_find_parity (GtkRBTree *tree, } } - return retval % 2; + return retval; } gint diff --git a/gtk/gtkrbtree.h b/gtk/gtkrbtree.h index 752fddc57c..4bb9c4b553 100644 --- a/gtk/gtkrbtree.h +++ b/gtk/gtkrbtree.h @@ -133,7 +133,7 @@ void _gtk_rbtree_set_fixed_height (GtkRBTree *tree, gboolean mark_valid); gint _gtk_rbtree_node_find_offset (GtkRBTree *tree, GtkRBNode *node); -gint _gtk_rbtree_node_find_parity (GtkRBTree *tree, +guint _gtk_rbtree_node_get_index (GtkRBTree *tree, GtkRBNode *node); gboolean _gtk_rbtree_find_index (GtkRBTree *tree, guint index, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 2da21a655e..22764b424e 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -4821,7 +4821,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, * order, drawing each successive node. */ - parity = !_gtk_rbtree_node_find_parity (tree, node); + parity = !(_gtk_rbtree_node_get_index (tree, node) % 2); do { @@ -14558,7 +14558,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, { GtkRegionFlags row_flags; - if (_gtk_rbtree_node_find_parity (tree, node)) + if ((_gtk_rbtree_node_get_index (tree, node) % 2)) row_flags = GTK_REGION_ODD; else row_flags = GTK_REGION_EVEN; -- 2.30.2